package com.ruoyi.picking.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 生产领料对象 erp_material_issue
 * 
 * @author ruoyi
 * @date 2025-07-17
 */
public class ErpMaterialIssue extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 领料单ID，主键 */
    private Long issueId;

    /** 工单ID */
    @Excel(name = "工单ID")
    private Long orderId;

    /** 物料编码，外键关联erp_material表 */
    @Excel(name = "物料编码，外键关联erp_material表")
    private Long materialId;

    /** 单据名称 */
    @Excel(name = "单据名称")
    private String documentName;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String reviewStatus;

    /** 领料日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "领料日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date issueDate;

    /** 物料规格 */
    @Excel(name = "物料规格")
    private String specification;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialName;

    /** 需求数量 */
    @Excel(name = "需求数量")
    private BigDecimal requiredQty;

    /** 实际领料数量 */
    @Excel(name = "实际领料数量")
    private BigDecimal issuedQty;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String documentNumber;

    /** 物料单位 */
    @Excel(name = "物料单位")
    private String materialUnit;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    public void setIssueId(Long issueId) 
    {
        this.issueId = issueId;
    }

    public Long getIssueId() 
    {
        return issueId;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }

    public void setDocumentName(String documentName) 
    {
        this.documentName = documentName;
    }

    public String getDocumentName() 
    {
        return documentName;
    }

    public void setReviewStatus(String reviewStatus) 
    {
        this.reviewStatus = reviewStatus;
    }

    public String getReviewStatus() 
    {
        return reviewStatus;
    }

    public void setIssueDate(Date issueDate) 
    {
        this.issueDate = issueDate;
    }

    public Date getIssueDate() 
    {
        return issueDate;
    }

    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }

    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }

    public void setRequiredQty(BigDecimal requiredQty) 
    {
        this.requiredQty = requiredQty;
    }

    public BigDecimal getRequiredQty() 
    {
        return requiredQty;
    }

    public void setIssuedQty(BigDecimal issuedQty) 
    {
        this.issuedQty = issuedQty;
    }

    public BigDecimal getIssuedQty() 
    {
        return issuedQty;
    }

    public void setDocumentNumber(String documentNumber) 
    {
        this.documentNumber = documentNumber;
    }

    public String getDocumentNumber() 
    {
        return documentNumber;
    }

    public void setMaterialUnit(String materialUnit) 
    {
        this.materialUnit = materialUnit;
    }

    public String getMaterialUnit() 
    {
        return materialUnit;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("issueId", getIssueId())
            .append("orderId", getOrderId())
            .append("materialId", getMaterialId())
            .append("documentName", getDocumentName())
            .append("reviewStatus", getReviewStatus())
            .append("issueDate", getIssueDate())
            .append("specification", getSpecification())
            .append("materialName", getMaterialName())
            .append("requiredQty", getRequiredQty())
            .append("issuedQty", getIssuedQty())
            .append("documentNumber", getDocumentNumber())
            .append("materialUnit", getMaterialUnit())
            .append("remarks", getRemarks())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .toString();
    }
}
